package unq.edu.cui.tp.modelo.ventanas;
import java.util.List;

import org.joda.time.DateTime;
import org.uqbar.commons.model.UserException;
import org.uqbar.commons.utils.Observable;

import unq.edu.cui.tp.dominio.Empleado;
import unq.edu.cui.tp.dominio.Sistema;

@Observable
public class AgregarRestriccion {
	private Sistema sistema;
	private List<Empleado> listaDeEmpleados;
	private Empleado empleadoSeleccionado;
	private String fecha;
	/**
	 * Constructor
	 * @param sistema
	 */
	public AgregarRestriccion(Sistema sistema) {
			this.setSistema(sistema);
			this.generarListaDeEmpleados();
					
	}
	
	/**
	 * Agregar una restriccion al empleado
	 */
	public void agregarRestriccion(){
		this.getSistema().agregarRestriccion(new Restriccion(empleadoSeleccionado, new DateTime(fecha)));
	}
	/**
	 * Lista de empleados para mostrar en la vista
	 * @return
	 */
	public List<Empleado> generarListaDeEmpleados(){
		this.listaDeEmpleados= this.sistema.getEmpleados();
    	return this.listaDeEmpleados;
	}
	// ********************************************************
	// ** Accessors
	// ********************************************************

	public Sistema getSistema() {
		return sistema;
	}
	public void setSistema(Sistema sistema) {
		this.sistema = sistema;
	}
	public String getFecha() {
		return fecha;
	}
	public void setFecha(String fecha) {
		this.fecha = fecha;
		throw new UserException("Formato de fecha aaaa-mm-dd");
		
	}
	public List<Empleado> getListaDeEmpleados() {
		return listaDeEmpleados;
	}
	public void setListaDeEmpleados(List<Empleado> listaDeEmpleados) {
		this.listaDeEmpleados = listaDeEmpleados;
	}
	public Empleado getEmpleadoSeleccionado() {
		return empleadoSeleccionado;
	}
	public void setEmpleadoSeleccionado(Empleado empleadoSeleccionado) {
		this.empleadoSeleccionado = empleadoSeleccionado;
	}

}